package com.redpack.redpost.struts.form;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;

import com.redpack.redpost.util.to.generalUtil;

public class contactoForm extends ActionForm {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private String nombre ;
	private String email ;
	private String asunto ;
	private String sugerencia ;
	private int sendContact;
	
	public int getSendContact() {
		return sendContact;
	}
	public void setSendContact(int sendContact) {
		this.sendContact = sendContact;
	}
	public static long getSerialversionuid() {
		return serialVersionUID;
	}
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getAsunto() {
		return asunto;
	}
	public void setAsunto(String asunto) {
		this.asunto = asunto;
	}
	public String getSugerencia() {
		return sugerencia;
	}
	public void setSugerencia(String sugerencia) {
		this.sugerencia = sugerencia;
	}	
	
	public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
		
		
		ActionErrors errors = new ActionErrors( );
		
		HttpSession session = request.getSession( ) ;
		String idioma = "";
		
	
		if (session.getAttribute("idioma") != null && session.getAttribute("idioma") != ""){
			idioma = session.getAttribute("idioma").toString();
	
		}
		
		if( sendContact != 0 ){
			
			if (nombre == null || nombre.trim().length() == 0) {
				if(idioma.equals("")){
					errors.add("NombreVacio", new ActionMessage("com.redpack.redpost.web.errors.modules.contactanos.nombre"));
				}
				if(idioma.equals("Eng")){
					errors.add("NombreVacio", new ActionMessage("com.redpack.redpost.web.errors.modules.contactanos.nombreEng"));
				}
				
				GetFormulario(request);
				
				return errors ;
	        }
			
			if (asunto == null || asunto.trim().length() == 0) {
				if(idioma.equals("")){
					errors.add("asuntoVacio", new ActionMessage("com.redpack.redpost.web.errors.modules.contactanos.asunto"));
				}
				if(idioma.equals("Eng")){
					errors.add("asuntoVacio", new ActionMessage("com.redpack.redpost.web.errors.modules.contactanos.asuntoEng"));
				}
				
				GetFormulario(request);
				
				return errors ;
	        }
			
			if (email == null || email.trim().length() == 0) {
				if(idioma.equals("")){
					errors.add("emailVacio", new ActionMessage("com.redpack.redpost.web.errors.modules.registro.email"));
				}
				if(idioma.equals("Eng")){
					errors.add("emailVacio", new ActionMessage("com.redpack.redpost.web.errors.modules.registro.emailEng"));
				}
				
				GetFormulario(request);
				
				return errors ;
				
			}
			
			if (email != null || email.trim().length() != 0) {
				if ( !generalUtil.validateEmail(email) ) {
					if(idioma.equals("")){
						errors.add("emailNoValido", new ActionMessage("com.redpack.redpost.web.errors.modules.registro.emailNoValido"));
					}
					if(idioma.equals("Eng")){
						errors.add("emailNoValido", new ActionMessage("com.redpack.redpost.web.errors.modules.registro.emailNoValidoEng"));
					}
					
					GetFormulario(request);
					
					return errors ;
		        }
			}
			
			
			if (sugerencia == null || sugerencia.trim().length() == 0) {
				if(idioma.equals("")){
					errors.add("sugerenciaVacio", new ActionMessage("com.redpack.redpost.web.errors.modules.contactanos.sugerencia"));
				}
				if(idioma.equals("Eng")){
					errors.add("sugerenciaVacio", new ActionMessage("com.redpack.redpost.web.errors.modules.contactanos.sugerenciaEng"));
				}
				
				GetFormulario(request);
				
				return errors ;
	        }
		
		}
		
		/*
		if( errors.size() > 0 ){
			request.setAttribute("nombre", nombre ) ;
			request.setAttribute("asunto", asunto ) ;
			request.setAttribute("email", email ) ;
			request.setAttribute("sugerencia", sugerencia ) ;
		}
		*/
		
		return errors;
		
	}
	
	
	public void GetFormulario(HttpServletRequest request){
		
		request.setAttribute("nombre", ""+getNombre() ) ;
		request.setAttribute("asunto", ""+getAsunto() ) ;
		request.setAttribute("email", ""+getEmail()  ) ;
		request.setAttribute("sugerencia", ""+getSugerencia()) ;
	}

}
